package com.spsoft.vatoutinv.model.dto.vmshzqrdmanage;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 红字确认单审批流-主信息对象
 *
 * @author : chenxudong
 * @date : 2024/1/5 10:06
 */
@Data
@ApiModel(value = "红字确认单审批流-主信息对象")
@EqualsAndHashCode
@Accessors(chain = true)
public class VmsApprovalHzqrdDto implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 审批流程ID
     */
    @ApiModelProperty(value = "审批流程ID")
    @NotNull(message = "审批流程ID不能为空")
    private Long applyId;

    /**
     * 审批流程类型;0：红字确认单申请 1：红字确认单确认
     */
    @ApiModelProperty(value = "审批流程类型;0：红字确认单申请 1：红字确认单确认")
    @NotNull(message = "审批流程类型不能为空")
    private String applyType;

    /**
     * 录入方身份;0：销方 1：购方
     */
    @ApiModelProperty(value = "录入方身份;0：销方 1：购方")
    @NotNull(message = "录入方身份不能为空")
    private String lrfsf;

    /**
     * 购买方是否抵扣/入账
     */
    @ApiModelProperty(value = "购买方是否抵扣/入账")
    @NotNull(message = "购买方是否抵扣/入账不能为空")
    private String gmfsfdkrz;

    /**
     * 购买方未抵扣原因
     */
    @ApiModelProperty(value = "购买方未抵扣原因")
    private String gmfwdkyy;

    /**
     * 蓝字发票代码
     */
    @ApiModelProperty(value = "蓝字发票代码")
    private String lzfpdm;

    /**
     * 蓝字发票号码
     */
    @ApiModelProperty(value = "蓝字发票号码")
    @NotNull(message = "蓝字发票号码不能为空")
    private String lzfphm;

    /**
     * 是否纸质发票标志;Y：纸质发票， N：电子发票
     */
    @ApiModelProperty(value = "是否纸质发票标志;Y：纸质发票， N：电子发票")
    @NotNull(message = "是否纸质发票标志不能为空")
    private String sfzzfpbz;

    /**
     * 红字发票冲红原因代码;01：开票有误 02：销货退回 03：服务中止 04：销售折让
     */
    @ApiModelProperty(value = "红字发票冲红原因代码;01：开票有误 02：销货退回 03：服务中止 04：销售折让")
    @NotNull(message = "红字发票冲红原因不能为空")
    private String chyydm;

    /**
     * 冲红类型;7：部分红冲，8：全额红冲
     */
    @ApiModelProperty(value = "冲红类型;7：部分红冲，8：全额红冲")
    @NotNull(message = "冲红类型不能为空")
    private String chlx;

}
